1. Field of the Invention
The illustrative embodiments relate to a game system in which communication is carried out between a plurality of game apparatuses, the game apparatuses, and a storage medium having a game program stored therein. More particularly, the illustrative embodiments relate to a game system in which communication capability is used to allow a plurality of players to implement a game, game apparatuses, and a storage medium having a game program stored therein.
2. Description of the Background Art
Conventionally, there have been game systems in which a game progresses by using wired communication, in which a plurality of game apparatuses are connected by communication lines, or by using short-range wireless communication. For example, in game systems disclosed in Japanese Laid-Open Patent Publication No. 8-243255 and Japanese Laid-Open Patent Publication No. 2000-107453, a multiplayer game is played between a plurality of game apparatuses using a network, and the game apparatuses are synchronized with respect to processing time so as to share game progression therebetween. In the game systems as described above, since the game apparatuses are in synchronization with respect to processing time, it is possible to prevent chronological information from being processed in unchronological order. For example, process progression in each game apparatus is based on the operating clock of the game apparatus, and a slight difference in operating clock might exist between the game apparatuses, due to individual apparatus difference, even though the game apparatuses operate at the same frequency. The difference in operating clocks is gradually increased with the process progression, hindering the process in the game apparatuses.
In a game machine control device system disclosed in Japanese Laid-Open Patent Publication No. 8-243255, a reset command is transmitted from a master machine to a slave machine. Then the slave machine, having received the reset command, resets a synchronization counter responsible for a game control cycle based on the reset command. In a game system disclosed in Japanese Laid-Open Patent Publication No. 2000-107453, reproduction timing of the game apparatus is adjusted such that game data distributed from a game data distribution device is reproduced when the game data is invisible to the game player.
In the game machine control device system disclosed in Japanese Laid-Open Patent Publication No. 8-243255, however, the slave machine, having received the reset command from the master machine, resets the synchronization counter. As a result a control cycle length when reset occurs is naturally shortened in the slave machine. Accordingly, if the slave machine receives the reset command from the master machine, it is difficult to secure the time required for a game process in the slave machine.
Also, in the game system disclosed in Japanese Laid-Open Patent Publication No. 2000-107453, each game apparatus has limited opportunity to adjust the time to switch from a still image to a moving image, the time to switch from a moving image to a still image, and the time to reproduce a flash scene, so that synchronization in processing time cannot always be established.
Therefore, a feature of the illustrative embodiments is to provide a game system, game apparatuses, and a storage medium having a game program stored therein, which are capable of securing the time required for a game process in the game apparatuses, while suitably adjusting synchronization in processing time between the game apparatuses.
The illustrative embodiments have the following features to attain the feature mentioned above. It should be noted that reference numerals and supplemental remarks in parentheses merely indicate correspondence with a preferred embodiment which will be described further below for the purpose of better understanding of the present invention, and do not restrict the scope of the present invention.
A first aspect of the illustrative embodiments is directed to a game system comprising a first game apparatus (a game apparatus 1a) and a second game apparatus (a game apparatus 1b or 1c) which carry out a game process for each process cycle having a predetermined length, in which the first and second game apparatuses communicate with each other for multiplayer game play. The first game apparatus includes a first timing information acquisition section (S38) and a first timing information transmission control section (S39). The first timing information acquisition section acquires first timing information (master V_TSF value), which indicates a first time (a master TSF value when V_COUNT value=0) with respect to a predetermined reference time (the beginning of a frame) in the process cycle of the first game apparatus, based on the process cycle. The first timing information transmission control section transmits the first timing information (a beacon) to the second game apparatus. The second game apparatus includes a first timing information reception control section (S54-S56), a second timing information acquisition section (S60), a detection section (S61), and a first cycle change section (S62-S65, S68-S71). The first timing information reception control section receives the first timing information from the first game apparatus. The second timing information acquisition section acquires second timing information (a slave V_TSF value), which indicates a second time (a slave TSF value when V_COUNT value=0) with respect to a predetermined reference time in the process cycle of the second game apparatus, based on the process cycle. The detection section detects a difference between the predetermined reference time of the second game apparatus and the predetermined reference time of the first game apparatus, based on the second timing information and the first timing information received by the first timing information reception control section. The first cycle change section temporarily lengthens the process cycle of the second game apparatus (V_COUNT-L) if the detection section detects the difference, and the difference detected by the detection section is equal to or more than a predetermined value (Lt).
Here, the process cycle may be temporarily lengthened until the difference between the predetermined reference time of the second game apparatus and the predetermined reference time of the first game apparatus becomes less than or equal to a predetermined value. Alternatively, only a predetermined number of process cycles (e.g., one process cycle) may be temporarily lengthened. For example, if the detection section detects the difference or if the difference detected by the detection section is equal to or more than the predetermined value, only the process cycle in which the detection occurs may be lengthened. That is, if the detection section detects the difference or if the difference detected by the detection section is equal to or more than the predetermined value, the first cycle change section lengthens the process cycle of the second game apparatus. Thereafter, if a predetermined condition is satisfied, the process cycle is brought back to a predetermined length (the original length). Also, the detection section may detect whether the predetermined reference time of the second game apparatus agrees with the predetermined reference time of the first game apparatus. If there is no agreement therebetween, the detection section may determine the degree (the length) by which the first cycle change section lengthens the process cycle.
Alternatively, the detection section may detect the difference between the predetermined reference time of the second game apparatus and the predetermined reference time of the first game apparatus based on a time indicated by the first timing information and a time indicated by the second timing information, or, as will be described later in conjunction with a second aspect of the illustrative embodiments, the time indicated by the first timing information is added to the length of the process cycle (a cycle period) until the time indicated by the first timing information becomes later than the time indicated by the second timing information. Thereafter, a difference between the time indicating the first timing and the time indicating the second timing may be detected as the difference between the predetermined reference times.
In the second aspect, if a time indicating the first time is earlier than a time indicating the second time, the detection section adds a predetermined length of the process cycle to the time indicating the first time, until the time indicating the first time becomes later than the time indicating the second time, and thereafter the detection section detects a difference between the time indicating the first time and the time indicating the second time as the difference between the predetermined reference times.
In a third aspect, each of the first and second game apparatuses further includes a counter (131) and a game process section. The counter is operable to automatically update a count value (a V_COUNT value) and to count values within a predetermined range (0-262). The game process section carries out a game process in rounds of values counted by the counter, each round corresponding to one process cycle. The first cycle change section decreases the count value of the counter (V_COUNT-L), thereby lengthening the process cycle.
In a fourth aspect, each of the first and second game apparatuses further includes a display control section (13). The display control section designates a display position based on the count value of the counter, and updates a screen display corresponding to the display position. The process cycle is divided, based on the count value of the counter, into a display period (0-191) in which the screen display is updated and a blanking period (192-262) in which the screen display is not updated. If the counter indicates a count value (212) corresponding to the blanking period, the first cycle change section decreases the count value.
In a fifth aspect, the first cycle change section decreases the count value of the counter so as to remain indicative of the blanking period.
In a sixth aspect, the first timing information acquisition section acquires the first timing information at regular intervals (500 ms intervals). Upon acquisition of the first timing information, the first timing information transmission control section transmits the first timing information to the second game apparatus. Upon reception of the first timing information, the second timing information acquisition section acquires the second timing information. Upon acquisition of the second timing information, the detection section detects the difference between the predetermined reference time of the second game apparatus and the predetermined reference time of the first game apparatus based on the second timing information and the first timing information.
In a seventh aspect, each of the first and second game apparatuses further includes a clocking section (33) and a clock synchronization section (S39, S56). The clocking section measures time and generates a clock value (a TSF value). The clock synchronization section establishes synchronization in the clock value with another game apparatus. The first timing information acquisition section acquires, as the first timing information (a master V_TSF value), the clock value (a master TSF value) generated at the first time (V_COUNT=0) by the clocking section of the first game apparatus. The second timing information acquisition section acquires, as the second timing information (a slave V_TSF value), the clock value (a slave TSF value) generated at the second time (V_COUNT=0) by the clocking section of the second game apparatus.
In an eighth aspect, the first game apparatus further includes a second cycle change section (S32-S36). The second cycle change section temporarily lengthens the process cycle of the first game apparatus with a predetermined timing (S35). The second cycle change section may temporarily lengthen the process cycle of the first game apparatus at regular time intervals (the number n of frames). Alternatively, if a predetermined condition is satisfied (for example, the predetermined reference time of the first game apparatus becomes earlier than the predetermined reference time of the second game apparatus), the process cycle of the first game apparatus may be temporarily lengthened. In this case, there may be a means for notifying the first game apparatus from the second game apparatus, that the predetermined reference time of the first game apparatus has become earlier than the predetermined reference time of the second game apparatus. Here, only a predetermined number of process cycles (e.g., one process cycle) may be temporarily lengthened, or the process cycle may be temporarily lengthened until a predetermined condition is satisfied (for example, until the predetermined reference time of the first game apparatus agrees with or becomes later than the predetermined reference time of the second game apparatus).
In a ninth aspect, the predetermined timing, with which the second cycle change section temporarily lengthens the process cycle of the first game apparatus, is set based on an assumed individual difference (ppm) in the process cycle between the first and second game apparatuses.
In a tenth aspect, the first timing information transmission control section broadcasts the first timing information.
In an eleventh aspect, the second game apparatus further includes a synchronization establishment information transmission control section (S22,S66). The synchronization establishment information transmission control section transmits synchronization establishment information, which indicates that synchronization with the first game apparatus has been established (a synchronization OK flag is “1”), to the first game apparatus if the difference detected by the detection section is less than a predetermined value. The first game apparatus further includes a synchronization establishment information reception control section (S13) and a game process start section (S15). The synchronization establishment information reception control section receives the synchronization establishment information transmitted from the second game apparatus. In response to the synchronization establishment information received by the synchronization establishment information reception control section, the game process start section starts a multiplayer game process with the second game apparatus.
A twelfth aspect of the illustrative embodiments is directed to a game apparatus (a game apparatus 1b or 1c) for communicating with an additional game apparatus (a game apparatus 1a) for multiplayer game play, where the game apparatus and the additional game apparatus carry out a game process for each process cycle having a predetermined length. The additional game apparatus transmits, based on the process cycle thereof, first timing information which indicates a first time with respect to a predetermined reference time in the process cycle. The game apparatus includes a first timing information reception control section, a second timing information acquisition section, a detection section, and a cycle change section (S62-S65,S68-S71). The first timing information reception control section receives the first timing information from the additional game apparatus. The second timing information acquisition section acquires second timing information, which indicates a second time with respect to the predetermined reference time in the process cycle of the game apparatus, based on the process cycle. The detection section detects a difference between the predetermined reference time of the game apparatus and the predetermined reference time of the additional game apparatus, based on the second timing information and the first timing information received by the first timing information reception control section. The cycle change section temporarily lengthens the process cycle of the game apparatus if the detection section detects the difference or if the difference detected by the detection section is equal to or more than a predetermined value.
A thirteenth aspect of the illustrative embodiments is directed to a game apparatus (a game apparatus 1a) for communicating with an additional game apparatus (a game apparatus 1b or 1c) for multiplayer game play, where the game apparatus and the additional game apparatus carry out a game process for each process cycle having a predetermined length. The game apparatus includes a timing information acquisition section (S38), a timing information transmission control section (S39), and a cycle change section (S32-S36). The timing information acquisition section acquires timing information (a master V_TSF value), which indicates a time (a master TSF value when V_COUNT value=0) with respect to the predetermined reference time in the process cycle of the game apparatus, based on the process cycle. The timing information transmission control section regularly transmits the timing information to the additional game apparatus. The cycle change section temporarily lengthens the process cycle of the game apparatus with a predetermined timing (the number n of frames) (S35).
A fourteenth aspect of the illustrative embodiments is directed to a storage medium having stored therein a game program to be executed by a computer (11) of a game apparatus (a game apparatus 1b or 1c) communicating with an additional game apparatus (a game apparatus 1a) for multiplayer game play, where the game apparatus and the additional game apparatus carry out the game process for each process cycle having the predetermined length. The additional game apparatus transmits, based on the process cycle thereof, first timing information which indicates a first time with respect to the predetermined reference time in the process cycle. The game program stored in the storage medium causes the computer to function as: a first timing information reception control section; a second timing information acquisition section; a detection section; and a cycle change section (S62-S65,S68-S71). The first timing information reception control section receives the first timing information from the additional game apparatus. The second timing information acquisition section acquires second timing information, which indicates a second time with respect to the predetermined reference time in the process cycle of the game apparatus, based on the process cycle. The detection section detects a difference between the predetermined reference time of the game apparatus and the predetermined reference time of the additional game apparatus, based on the second timing information and the first timing information received by the first timing information reception control section. The cycle change section temporarily lengthens the process cycle of the game apparatus if the detection section detects the difference or if the difference detected by the detection section is equal to or more than a predetermined value.
A fifteenth aspect of the illustrative embodiments is directed to a storage medium having stored therein a game program to be executed by a computer of a game apparatus (a game apparatus 1b or 1c) for communicating with an additional game apparatus (a game apparatus 1a) for multiplayer game play, the game apparatus and the additional game apparatus carry out a game process for each process cycle having a predetermined length. The game program stored in the storage medium causes the computer to function as: a timing information acquisition section (S38); a timing information transmission control section (S39); and a cycle change section (S32-S36). The timing information acquisition section acquires timing information (a master V_TSF value), which indicates a time (a master TSF value when V_COUNT value=0) with respect to the predetermined reference time in the process cycle of the game apparatus, based on the process cycle. The timing information transmission control section regularly transmits the timing information to the additional game apparatus. The cycle change section temporarily lengthens the process cycle of the game apparatus with a predetermined timing (the number n of frames) (S35).
A sixteenth aspect of the illustrative embodiments is directed to a storage medium having stored therein a game program to be executed by computers of a plurality of game apparatuses for communicating with each other for multiplayer game play, the plurality of game apparatuses each being set either as a master machine or as a slave machine and carrying out a game process for each process cycle having a predetermined length. The game program stored in the storage medium causes a computer of a game apparatus to function as a master/slave setting section (for example, the first game apparatus 1 to have attempted radio communication may be set as the master machine). The master/slave setting section sets the game apparatus either as the master machine or as the slave machine based on a predetermined condition. If the master/slave setting section sets the game apparatus as the master machine, the game program stored in the storage medium causes the computer of the game apparatus to function as: a first timing information acquisition section; a first timing information transmission control section; and a first cycle change section (S32-S36). The first timing information acquisition section acquires first timing information, which indicates a first time, with respect to a predetermined reference time in the process cycle of the game apparatus, based on the process cycle. The first timing information transmission control section transmits the first timing information to an additional game apparatus being set as the slave machine. The first cycle change section temporarily lengthens the process cycle of the game apparatus with a predetermined timing. If the master/slave setting section sets the game apparatus as the slave machine, the game program causes the computer of the game apparatus to function as: a first timing information reception control section; a second timing information acquisition section; a detection section; and a second cycle change section (S62-S65,S68-S71). The first timing information reception control section receives the first timing information from an additional game apparatus having been set as the master machine. The second timing information acquisition section acquires second timing information, which indicates a second time with respect to a predetermined reference time in the process cycle of the game apparatus, based on the process cycle. The detection section detects a difference between the predetermined reference time of the game apparatus and the predetermined reference time of the additional game apparatus being set as the master machine, based on the second timing information and the first timing information received by the first timing information reception control section. The second cycle change section temporarily lengthens the process cycle of the game apparatus if the detection section detects the difference or if the difference detected by the detection section is equal to or more than a predetermined value.
According to the first aspect, the second game apparatus lengthens the process cycle thereof, thereby carrying out a synchronization process with the first game apparatus. Accordingly, it is possible to secure a satisfactory process time in each process cycle, while maintaining synchronization in processing with the first game apparatus.
According to the second aspect, even if there is a time lag between acquisition of the first time by the first timing information acquisition section and acquisition of the second time by the second timing information acquisition section, it is possible to detect a difference between corresponding process reference times with consideration of the time lag.
According to the third aspect, the use of a counter function for use in display control makes is possible for the first and second game apparatuses to efficiently establish synchronization with each other.
In the fourth and fifth aspects, the cycle of the second game apparatus is changed in the blanking period, and an adjusted count value is updated so as to agree with a count value in the blanking period. Accordingly, it is possible to establish synchronization in processing between the game apparatuses without corrupting a screen display on the second game apparatus.
According to the sixth aspect, the first timing information is regularly transmitted from the first game apparatus to the second game apparatus, and therefore it is possible to regularly carry out synchronization adjustment in an appropriate manner. Also, even if asynchrony in processing occurs between the game apparatuses, it is possible to carry out the synchronization adjustment immediately.
According to the seventh aspect, clock values referenced to by the first and second game apparatuses are in synchronization with each other, and timings of the process cycles are estimated based on the clock values, whereby it is possible to accurately detect asynchrony between the process cycles.
According to the eighth aspect, the first game apparatus carries out a process of deliberately causing the frame cycle thereof to tend to be slower than the frame cycle of the slave machine, thereby causing the slave machine to adjust its own frame cycle so as to be lengthened. As a result, in all game apparatuses, timing of the process cycle is adjusted so as to lengthen the process cycle, and therefore it is possible to secure a minimum length of the process cycle and to stably carry out synchronization adjustment.
According to the ninth aspect, it is possible to secure the minimum length of the process cycle with consideration of individual differences between the game apparatuses, and to stably carry out synchronization adjustment.
According to the tenth aspect, the first game apparatus broadcasts the first timing information, and the second game apparatus receives and uses the first timing information to carry out a synchronization process. Accordingly, even in the case where the first game apparatus communicates with a plurality of second game apparatuses, it is possible to adjust synchronization among all game apparatuses without transmitting the first timing information separately.
According to the eleventh aspect, the game starts after the first game apparatus confirms synchronization with the second game apparatus, and therefore it is possible to reduce process errors due to asynchrony.
Also, a game apparatus according to the illustrative embodiments achieves an effect similar to that achieved by the first game apparatus or the second game apparatus included in the game system as described above. Also, a computer of a game apparatus included in the game system as described above is caused to execute a game program stored in a storage medium according to the illustrative embodiments, thereby achieving an effect similar to that achieved by the game system.
These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.